package com.cloudkinto.service.order;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cloudkinto.bo.order.OrderShopifyQueryBo;
import com.cloudkinto.common.web.PageResult;
import com.cloudkinto.common.web.SingleResult;
import com.cloudkinto.entity.OrderShopifyDo;
import com.cloudkinto.service.order.vo.amazon.OrderAmazonExcelReq;
import com.cloudkinto.service.order.vo.amazon.UpdateSysMemoReq;
import com.cloudkinto.service.order.vo.shopify.OrderShopifyRes;
import com.cloudkinto.service.orderoutput.vo.OrderOutputAddReq;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * service接口
 * </p>
 *
 * @author ding
 * @since 2021-09-23
 */
public interface OrderShopifyService extends IService<OrderShopifyDo> {

    SingleResult addInit();

    Object add(Object req, Long userId);

    SingleResult updateInit(Long id);

    Object update(Object updateVo, Long userId);

    int delete(Long id, Long userId);

    Object detail(Long id);

    SingleResult pageInit(Long userId, Long companyId);


    PageResult getListPage(Map<String, String> map);
//    PageResult getListPage(OrderShopifyQueryBo bo);

    SingleResult sync(Long shopId, String startDate, String endDate);

    void exportExcel(OrderShopifyQueryBo bo, HttpServletResponse response) throws Exception;

    SingleResult markSendOut(List<Long> ids, Long userId);

    SingleResult updateSysMemo(UpdateSysMemoReq req, Long userId, Long companyId);

    SingleResult systemMemoInit(Long id);

    SingleResult sendOut(String[] orderids, Long userId, Long companyId, boolean b);

    SingleResult sendOutNopackage(String orderid, Long userId, Long companyId);

    SingleResult sendOutMatch(List<OrderOutputAddReq> orderOutputAddReqList, Long userId);

    SingleResult webhook(String hmac, String type, String body, HttpServletResponse servletResponse);

    SingleResult webhookOrder(String hmac, String type, String body, HttpServletResponse servletResponse);
}
